perm filename SCN.TMP[TEX,DEK] blob
sn#554101 filedate 1981-01-05 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 1) OLDSCN.TMP[TEX,DEK] and 2) NEWSCN.TMP[TEX,DEK] 1-05-81 15:05 pages 1,1
C00006 00003 1) OLDSCN.TMP[TEX,DEK] and 2) NEWSCN.TMP[TEX,DEK] 1-05-81 15:05 pages 1,1
C00009 00004 1) OLDSCN.TMP[TEX,DEK] and 2) NEWSCN.TMP[TEX,DEK] 1-05-81 15:05 pages 1,1
C00010 ENDMK
C⊗;
1) OLDSCN.TMP[TEX,DEK] and 2) NEWSCN.TMP[TEX,DEK] 1-05-81 15:05 pages 1,1
**** File 1) OLDSCN.TMP[TEX,DEK]/1P/96L
1) if eof and fname[2]=0 then lookup(chan,fname[0]&fname[1]&"[TEX,SYS]",eof);
1) ENDSUAI
**** File 2) NEWSCN.TMP[TEX,DEK]/1P/96L
2) if eof and fname[2]=0 then lookup(chan,fname[0]&fname[1]&"[1,3]",eof);
2) ENDSUAI
***************
**** File 1) OLDSCN.TMP[TEX,DEK]/1P/165L
1) internal procedure definefont(integer f) # Do this after seeing "=" of font def;
1) begin integer n,p,chan; string s;
1) label try # go here to try or try again;
1) try: scanfilename;
1) IFSUAI
1) if fname[2]=0 then fname[2]←libraryarea;
1) s←fname[0]&fname[2];
1) ENDSUAI
1) IFMIT
1) if fnamedir=null then fnamedir←libraryarea;
1) s←fnamedir&fname1&" "&fname2;
1) ENDMIT
1) if fontname[f] and not equ(s,fontname[f]) then
1) begin error("Sorry, this font code is already defined to be "&fontname[f]);
**** File 2) NEWSCN.TMP[TEX,DEK]/1P/165L
2) endc
2) IFTOPS10 require "The procedure definefont must be adjusted for TOPS10." message;
2) require "Either modify the definition in TEXF10.SAI, or add a TOPS10 case" message;
2) require " to the definition that follows:" message; ENDTOPS10
2) internal procedure definefont(integer f) # Do this after seeing "=" of font def;
2) begin integer n,p,chan,dwidth,digits; real psize; string s,ss;
2) label try # go here to try or try again;
2) boolean atclause # first attempt to read the file;
2) try: scanfilename; do getnctok until curcmd≠spacer; backinput;
2) atclause←scanstring("at");
2) if atclause then psize←scanposlength else psize←0;
2) getformat(dwidth,digits);
2) setformat(5,1);
2) IFSUAI
2) if fname[2]=0 then fname[2]←libraryarea; s←fname[0];
2) if length(s)>6 then s←s[1 to 3]&s[∞-2 to ∞];
2) ENDSUAI
2) IFMIT
2) if fnamedir=0 then fnamedir←libraryarea; s←fname1;
2) ENDMIT
2) IFTENEX
2) if fname[0]=0 then fname[0]←libraryarea; s←fname[1];
2) ENDTENEX
1) OLDSCN.TMP[TEX,DEK] and 2) NEWSCN.TMP[TEX,DEK] 1-05-81 15:05 pages 1,1
2) s←s&" at "&(if atclause then cvf(psize) else "*")&"pts"
2) # without directory or extension;
2) if fontname[f] and not equ(s,fontname[f]) then
2) begin error("Sorry, this font code is already defined to be "&fontname[f]);
***************
**** File 1) OLDSCN.TMP[TEX,DEK]/1P/181L
1) if parbase[f]=0 then
1) begin string ss; comment font information not preloaded;
1) open(chan←getchan,"DSK",8,2,0,0,0,eof);
1) IFSUAI
1) lookup(chan,ss←fname[0]&deviceext&fname[2],eof);
1) ENDSUAI
1) IFMIT
1) lookup(chan,ss←fnamedir&fname1&" "&deviceext,eof);
1) ENDMIT
1) if eof then
1) begin error("Lookup failed on file "&ss);
1) release(chan); go to try;
1) end;
1) readfontinfo(chan,f) # input font info for use by TEXSEM and TEXOUT;
1) release(chan);
1) end;
1) fontname[f]←s;
1) p←fontglue+f*gluespecsize # location of "font glue";
1) mem[p]←1000000 lsh infod # "infinite" reference count;
1) gluespace(p)←fontpar(f,spacewd);
1) gluestretch(p)←fontpar(f,spacestr);
1) glueshrink(p)←fontpar(f,spaceshr);
1) end;
1) endc
**** File 2) NEWSCN.TMP[TEX,DEK]/1P/196L
2) fontname[f]←s;
2) setformat(dwidth,digits);
2) if parbase[f]=0 then
2) begin comment font information not preloaded;
2) open(chan←getchan,"DSK",8,2,0,0,0,eof);
2) IFSUAI
2) lookup(chan,ss←fname[0]&deviceext&fname[2],eof);
2) ENDSUAI
2) IFMIT
2) lookup(chan,ss←fnamedir&fname1&" "&deviceext,eof);
2) ENDMIT
2) IFTENEX
2) lookup(chan,ss←fname[0]&fname[1]&deviceext,eof);
2) ENDTENEX
2) if eof then
1) OLDSCN.TMP[TEX,DEK] and 2) NEWSCN.TMP[TEX,DEK] 1-05-81 15:05 pages 1,1
2) begin error("Lookup failed on file "&ss);
2) release(chan); go to try;
2) end;
2) readfontinfo(chan,f,psize,atclause) # input font info for use by TEXSEM and TEXOUT;
2) release(chan);
2) end;
2) p←fontglue+f*gluespecsize # location of "font glue";
2) mem[p]←1000000 lsh infod # "infinite" reference count;
2) gluespace(p)←fontpar(f,spacewd);
2) gluestretch(p)←fontpar(f,spacestr);
2) glueshrink(p)←fontpar(f,spaceshr);
2) end;
2) end
***************